import Vue from 'vue';
import Router from 'vue-router';
import routes from './router';

Vue.use(Router);

const router = new Router({
  routes,
  mode: 'history'
});

// 非登录开放页面
const PUBLIC_ROUTES = ['login', 'register'];

// 跳转之前
router.beforeEach((to, from, next) => {
  // 页面标签标题
  if (to.meta.title) {
    document.title = to.meta.title;
  }

  // 后台使用token来校验登录状态，校验token是否存在,即是否登录
  const token = localStorage.getItem('token');
  if (token) {
    // 已登录，则跳到对应页面
    next();
  } else {
    if (!to.name || PUBLIC_ROUTES.includes(to.name)) {
      // 首页或者开放页面直接放行
      next();
    } else {
      // 未登录页面,跳转登录页
      next('/login');
    }
  }
});

// 跳转之后
router.afterEach(to => {
  // 目前不做处理，仅作预留
});

export default router;
